﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Interfaces;

namespace Model
{
    public class Delordre : IDelordre
    {
        private Kunde kunde;
        private int delordrenr;
        private bool betalt;
        private Betalingsmetode betalingsmetode;
        private string betalingskommentar;
        public List<Delordrelinie> delordrelinieliste;

        public Delordre(Kunde kunde, int delordrenr, bool betalt, Betalingsmetode betalingsmetode, string betalingskommentar)
        {
            this.kunde = kunde;
            this.delordrenr = delordrenr;
            this.betalt = betalt;
            this.betalingsmetode = betalingsmetode;
            this.betalingskommentar = betalingskommentar;
            delordrelinieliste = new List<Delordrelinie>();
        }

		public Delordre(Kunde kunde, int delordrenr, bool betalt, Betalingsmetode betalingsmetode)
		{
			this.kunde = kunde;
			this.delordrenr = delordrenr;
			this.betalt = betalt;
			this.betalingsmetode = betalingsmetode;
			delordrelinieliste = new List<Delordrelinie>();
		}

        public void OpretDelordrelinie(Vare vare, int antal, double pris)
        {
            Delordrelinie delordrelinie = new Delordrelinie(vare, antal, pris);
            delordrelinieliste.Add(delordrelinie);
        }

        public void OpretDelordrelinie(int delordrelinienr, Vare vare, int antal, double pris)
        {
            Delordrelinie delordrelinie = new Delordrelinie(delordrelinienr, vare, antal, pris);
            delordrelinieliste.Add(delordrelinie);
        }

        public List<Delordrelinie> HentDelordrelinie()
        {
            return delordrelinieliste;
        }
        #region properties
        
        public IKunde Kunde
        {
            get { return kunde; }
        } 
        
        public int Delordrenr
        {
            get { return delordrenr; }
            set { delordrenr = value; }
        }

        public bool Betalt
        {
            get { return betalt; }
            set { betalt = value; }
        }
        
        public Betalingsmetode Betalingsmetode
        {
            get { return betalingsmetode; }
            set { betalingsmetode = value; }
        }

        public string Betalingskommentar
        {
            get { return betalingskommentar; }
            set { betalingskommentar = value; }
        }
        #endregion
    }
}
